0%

14.最长公共前缀

题目要求:

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 “”。

示例 1:

输入: [“flower”,”flow”,”flight”]
输出: “fl”
示例 2:

输入: [“dog”,”racecar”,”car”]
输出: “”
解释: 输入不存在公共前缀。

1
2
3
4
5
6
7
8
9
10
11
a=["flower", "flow", "flight"]
def longestCommonPrefix(strs):
s = ""
for i in zip(*strs):
print(i)
if len(set(i))==1:
s += i[0]
else:
break
return s
print(longestCommonPrefix(a))

利用zip*函数 这是一个将列表中的嵌套列表的每一个字母可以提取出来的函数

a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
zip(a,c) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
zip(zipped) # 与 zip 相反,zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]